'use strict';
const db = uniCloud.database();
exports.main = async (event, context) => {
	try {
		// 获取用户信息，包括用户的优惠券列表
		const user = await db.collection('users').where({
			userId: event.userId
		}).get();

		if (user.affectedDocs !== 1) {
			return {
				code: 500,
				message: '用户不存在'
			};
		}

		// 获取用户的优惠券列表
		const couponLists = user.data[0].coupon;

		// 在用户的所有优惠券列表中查找匹配的优惠券并移除
		for (const couponList of couponLists) {
			const coupons = couponList.list;
			const selectedCouponId = event.selectedCouponId;

			// 遍历用户的优惠券列表，查找匹配的优惠券并移除
			for (let i = 0; i < coupons.length; i++) {
				if (coupons[i].CouponId === selectedCouponId) {
					// 找到匹配的优惠券，将其从列表中移除
					coupons.splice(i, 1);
					break; // 假定每个优惠券的 `CouponId` 都是唯一的，找到后即可退出循环
				}
			}
		}

		// 更新用户数据，将新的优惠券列表保存回数据库
		await db.collection('users').update({
			coupon: couponLists
		});

		return {
			code: 200,
			message: '成功移除优惠券'
		};
	} catch (err) {
		return {
			code: 500,
			message: '服务器错误：' + err.message
		};
	}
};